1. Field of the Invention
The present invention relates generally to file data storage management method, file data storage device, program executing processing for storing file data, and storage medium which are capable of efficiently storing real time file data and non-real time file data.
2. Description of the Related Art
Up to now, in a case where data constituting one file (hereinafter, referred to as file data) is stored onto a storage medium, a method is used in which the file data is assigned to blocks obtained by dividing a storage area of the storage medium into predetermined identical capacity areas. In accordance with this file storage method, use/non-use of each block is managed by means of a block management table.
The storing of the file data is performed by referencing the block management table to search for an unused block, and assigning the file data to a plurality of the unused blocks used for storing the data according to the file data capacity. When this is performed, a file structure table indicating which block was used to store the file information, is generated. As the file structure table, for example, a FAT (File Allocation Table) or the like may be used. The FAT determines physical connections to the blocks constituting the file. Specifically, a unique block number assigned to each block is used, and the table is generated which links the block numbers with logically continuous block numbers for all the blocks in the storage medium.
In a case of storing the file data which has a capacity greater than a block length, for example, image, audio, or other such data having a large capacity, the data is stored across a plurality of blocks. Here, if the data is stored scatteredly across physically non-continuous areas on the storage medium, when these data are processed and read out in real time, time required for a drive head to move makes smooth access impossible, and there is a possibility that continuous data processing becomes difficult. Therefore, when considering storing the large capacity data to be processed in real time, the capacity of one block should be set large, to secure as large a physically continuous area as possible.
On the other hand, the data capacity of the file varies depending on the file type. An extremely small capacity file, such as an extremely small document file, exists as well.
However, according to the current file storage method, since the file data is stored by blocks, 2 or more sets of file data cannot be stored in 1 block. Therefore, when the block capacity is set too large, inside the block, idle areas in which the actual data is not stored but the file data cannot be stored, increase. As a result, a problem occurs in which a usage efficiency of the storage area drastically deteriorates.
Conversely, if the block capacity is set too small, when the large capacity file data is to be stored, the number of linked blocks becomes extremely large, and deterioration of accessibility when the data is read is a concern.
Further, due to abundant input/output of the data, when the storing/deleting of the data is repeated, it becomes difficult to secure the physically continuous idle area, which leads to a problem in that so-called fragmentation occurs.
FIG. 14 shows an example of assigning the file data to the storage medium, and a block management table and a usage status of each block at this time. In the block management table in FIG. 14, “1” indicates a status of being used, and “0” indicates an unused status. Further, a hatched portion 30x in the diagram indicates the used block, and a blank portion 30y indicates the unused idle block. In FIG. 14, the empty blocks are scattered about, and fragmentation has occurred.
In contrast, for example, as shown in FIG. 15, the management table can be structured such that 4 blocks are seen as 1 block. By thus expanding the data capacity handled in the block management table, the above-mentioned fragmentation problem can be resolved to a certain extent. However, when this is done, the usage efficiency of the storage area drastically deteriorates, as described above.
Therefore, an object of the present invention is to resolve these problems and provide a data storage method in which the file data are assigned suitably for real time file storage and reproduction, while the occurrence of fragmentation is suppressed, to thereby enable to efficiently store and reproduce even the small capacity file data.